package com.zeny.coding.service;



import com.zeny.coding.dto.PageDto;
import com.zeny.coding.dto.ResourceDto;
import com.zeny.coding.dto.UserDto;
import com.zeny.coding.entity.User;

import java.util.List;

public interface UserService {
    /**
     * <h2>分页查询</h2>
     *
     * @param pageInfo
     **/
    void list(PageDto<UserDto> pageInfo);

    /**
     * <h2>保存用户</h2>
     *
     * @param userDto
     **/
    void save(UserDto userDto);

    /**
     * <h2>修改用户</h2>
     *
     * @param userDto
     **/
    void update(UserDto userDto);

    /**
     * <h2>根据id查询用户</h2>
     *
     * @param id
     **/
    UserDto findById(String id);

    /**
     * <h2>根据id删除用户</h2>
     *
     * @param id
     **/
    void deleteById(String id);

    /**
     * <h2>根据登录名查找用户</h2>
     *
     * @param loginName
     **/
    User findByLoginName(String loginName);

    /**
     * <h2>重置密码</h2>
     *
     * @param userDto
     **/
    void resetPassword(UserDto userDto);

    /**
     * <h2>登录</h2>
     *
     * @param userDto
     **/
    UserDto login(UserDto userDto);

    /**
     * <h2>根据用户名查找资源</h2>
     *
     * @param userId
     **/
    List<ResourceDto> findResourcesByUserId(String userId);

}
